package com.shuwen.gcdj.bean.rolepower.response;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.sql.Date;
import java.util.ArrayList;
import java.util.List;

/**
 * @author :杨云山
 * 菜单树形响应
 * @date : 2023/3/17 10:39
 */
@Data
@ApiModel
public class PowerLevelResp {

    /**
     * 权限id
     */
    private String id;
    /**
     * 权限码(控制前端展示+后端接口访问)
     */
    private String code;
    /**
     * 权限名称
     */
    private String name;
    /**
     * 父级权限id
     */
    private String parentId;
    /**
     * 层级，最顶层为1级
     */
    private Integer level;
    /**
     * 排序编号，值越小越靠前
     */
    private Integer sort;

    /**
     * 菜单路由
     */
    private String routePath;


    /**
     * 是否为菜单权限 0 否  1  是
     */
    @ApiModelProperty("是否为菜单权限 0 否  1  是")
    private Integer isMenu;
    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(
            pattern = "yyyy-MM-dd",
            timezone = "GMT+8"
    )
    private Date createTime;

    @ApiModelProperty("是否拥有权限 0 拥有 1 没有")
    private Integer checked;

    private List<PowerLevelResp> children;

    private List<ButtonPowerResp> btns = new ArrayList<>();

}
